package com.example.qjia.basic;

import android.app.ProgressDialog;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.Window;
import android.widget.Toast;

import com.example.qjia.R;


/**
 * Created by luoluo on 2016/7/11.
 */
public abstract class BaseActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        supportRequestWindowFeature(Window.FEATURE_NO_TITLE);

        setContentView(getLayoutResourceId());

        init();
        initView();


    }


    protected abstract int getLayoutResourceId();

    /**
     * 设置toolbar
     * @param toolbar
     */

    /**
     * 数据初始化
     */
    protected abstract void init();

    /**
     * 界面初始化
     */
    protected abstract void initView();

    protected void reflesh(Object...params){}


    //Util Method
    public void toast(String msg){
        Toast.makeText(this,msg, Toast.LENGTH_SHORT).show();
    }
    /**
     * 页面转跳函数，不结束前一页面
     * @param classObj
     */
    public void overlay (Class<?> classObj) {
        Intent intent = new Intent(Intent.ACTION_VIEW);
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
        intent.setClass(this, classObj);
        startActivity(intent);
    }

    /**
     * 页面转跳函数，不结束前一页面
     * @param classObj
     * @param params  传递数据
     */
    public void overlay (Class<?> classObj, Bundle params) {
        Intent intent = new Intent(Intent.ACTION_VIEW);
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
        intent.setClass(this, classObj);
        intent.putExtras(params);
        startActivity(intent);
    }

    /**
     * 页面转跳函数，结束前一页面
     * @param classObj
     */
    public void forward (Class<?> classObj) {
        Intent intent = new Intent();
        intent.setClass(this, classObj);
        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        this.startActivity(intent);
        this.finish();
    }

    /**
     * 页面转跳函数，结束前一页面
     * @param classObj
     * @param params  传递的数据
     */
    public void forward (Class<?> classObj, Bundle params) {
        Intent intent = new Intent();
        intent.setClass(this, classObj);
        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        intent.putExtras(params);
        this.startActivity(intent);
        this.finish();
    }

    public void doFinish(){
        this.finish();
    }
}
